#include "ini.h"

#include <assert.h>
#include <string.h>
#include <stdio.h>


int main(int argc, char *argv[]) {

	printf(" test ->   \n "  );
	FILE *fp;
	fp = fopen("file.txt", "r"); // 打开一个文件用于读取
	// ... 文件读写操作 ...


	/* fgetc 会发生坐标偏移 */

	int ch;
	ch = fgetc(fp); // 从文件中读取一个字符
	printf(" test ->  %c \n ", ch  );

printf("=====  %ld \n ", ftell(fp) );

	ch = fgetc(fp); // 从文件中读取一个字符
	printf(" test ->  %c \n ", ch  );

printf(" ======  %ld \n ", ftell(fp) );
	// 或者
	char str[100];
	fgets(str, 100, fp);   // 从文件中读取一行字符串
	printf(" test ->  %s \n ", str);

printf(" ======  %ld \n ", ftell(fp) );


	fgets(str, 100, fp);   // 从文件中读取一行字符串
	printf(" test ->  %s \n ", str);


	// fputc('a', fp); // 向文件写入一个字符 'a'
	// 或者
	// fputs("Hello World\n", fp); // 向文件写入一个字符串

fseek(fp, 2L, SEEK_SET); 	// 把文件指针移到距离文件开头10个字节处
long pos = ftell(fp); 		// 获取当前文件指针的位置
printf(" seek =====  %ld \n ", pos );

	ch = fgetc(fp); // 从文件中读取一个字符
	printf(" test ->  %c \n ", ch  );



// if(feof(fp)) // 检查是否到达文件末尾
// if(ferror(fp)) // 检查是否发生错误
// clearerr(fp); // 清除错误标志并将文件设置为无错误状态

// // 二进制读写
// int num = 100;
// fwrite(&num, sizeof(int), 1, fp); // 写入一个整数
// // 读取
// fread(&num, sizeof(int), 1, fp);

	fclose(fp);





	return 0;
	
}

